package collection.stream;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 练习StreamApi的中间环节
 */
public class Test2 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("www.baidu.com");
        list.add("www.google.com");
        list.add("www.sina.com");
        list.add("www.qq.com");
        list.add("www.163.com");
        list.add("www.taobao.com");
        list.add("www.jd.com");
        System.out.println(list);
        /*
            获取所有网址中的域名，并且仅保留域名字符3个字(含)以上,并将域名转换为全大写
            ，然后按照域名字符个数降序排序，最终得到所有域名
         */
        List<String> list2 = list.stream()
                             .map(e->e.substring(4,e.lastIndexOf(".")))
                             .filter(e->e.length()>=3)
                             .map(e->e.toUpperCase())
                             .sorted((e1,e2)->e2.length()-e1.length())
                             .collect(Collectors.toList());
        System.out.println(list2);

    }
}
